Data processing systems in common use today generally include a large main frame computer having a plurality of input/output terminals by which users communicate with the computer. The main frame computer serves to manipulate data, perform calculations, etc., pursuant to applications programs, and store and retrieve data either for use in the manipulation, calculations, etc., or simply for delivery to one of the terminals. Although such a conventional arrangement provides significant computing power and access by numerous user terminals, the main frame computer necessary for servicing the terminals and providing the data processing capabilities is large, complex, and costly. Further, the computing power of such systems, although significant, generally cannot be increased except by provision of an entire new system.
It has been suggested that dividing up the data processing task and distributing it among more than one central processing unit would provide certain economies and advantages not achievable with the use of a single, large main frame central processing unit. (See, e.g., publication A20-710-101, "Evolving Office of the Future", January 1980, by Datapro Research Corp.) An example of one such advantage is to allow for piece-wise growth of a small system into a larger system as needs increase, rather than starting out with a full-blown large scale system initially. Typically, the various central processing units for use in a distributed data processing system have the capability of communicating with one another, and, in fact, to achieve full processing capability, it is generally essential in such systems to provide for communication among the various central processing units. However, implementation of the capability of inter-processor communication results in a sacrifice of some of the economies and simplicity which was desired in proposing the distributed data processing system. This is because of the increased complexity of programming each central processing unit to not only store, retrieve and process data, but also initiate, respond to, and monitor inter-processor communication requests. That is, a significant part of each central processing unit's operation time (and operating system) is taken up in simply accommodating communication with the other central processing units. This difficulty becomes more severe each time another processor is added to the system. Also, any change in the programming of one central processing unit or its associated storage files generally requires changes in the programming or associated data files of the other related central processing units. Thus far, there have been no distributed data processing configuration offered which would provide the apparent advantages of distributed data processing without the attendant problems.